import numpy as np

# n1 = np.array([2, 3, 4])
# n2 = np.array([1, 2, 3])
#
# print(np.dot(n1, n2))

# n1 = np.random.randint(0, 10, size=(2, 3))
# n2 = np.random.randint(0, 10, size=(3, 4))
# print(n1)
# print(n2)
# print(np.dot(n1, n2))
# print(n1*n2)

# from pandas import DataFrame
# df = DataFrame(
#     data=np.random.randint(0, 100, size=(4, 6)),
#     index=['小明', "小红", '小绿', '小黄'],
#     columns=['语文', '数学', '英语', 'Python', 'Numpy', 'Pandas']
# )

# print(df[["语文","数学"]])

# print(df.iloc[0])
# print(df.iloc[[0]])

# print(df.loc[["小明","小红"]])
# print(df.loc[["小明"]])


from sklearn.preprocessing import LabelEncoder  # 标签专用，将标签转换为数值的，用于y值的转换，只能输入标签。
import numpy as np

from sklearn.preprocessing import OneHotEncoder  # 独热编码
import numpy as np

data = np.array([['S', 'N', 'S', 'S', 'N', 'N', 'S'],  # 两个类别
                 ['A', 'B', 'C', 'B', 'C', 'A', 'B'],  # 三个类别
                 ['man', 'girl', 'man', 'girl', 'girl', 'man', 'girl']]  # 两个类别
                )
data = data.transpose()
print(data)
# 方法一
oe = OneHotEncoder(categories='auto')
res = oe.fit(data)
res = oe.transform(data).toarray()
print('转换后的结果是：', res)  # 得到转换后的结果
print('转换后的标号和类别关系关系是（下标就是标号）：', oe.categories_)  # 得到对应的类别，每个文字的下标就是其数字标号
print(oe.get_feature_names_out())  # 从这里能看到各个列对应的原始属性和具体类别信息

# 方法一
# oe = OneHotEncoder(categories='auto')
# res = oe.fit_transform(data).toarray()
# print('转换后的结果是：', res)  # 得到转换后的结果
# print('转换后的标号和类别关系关系是（下标就是标号）：', oe.categories_)  # 得到对应的类别，每个文字的下标就是其数字标号
# print(oe.get_feature_names())  # 从这里能看到各个列对应的原始属性和具体类别信息
#
# # 进一步操作
# data_src = oe.inverse_transform(res)
# print(data_src)



